//定义请求接口的api方法 (接口类型(参数类型|响应数据类型 data的类型) || 定义的请求方式 || 对外导出)

//axios : axios请求 | 全局对象 creare({baseUrl , timeout}) |  拦截器

//官方的axios对象
//import axios from 'axios'

//1. 自己定义的axios (路径,timetou,请求参数,响应结果)
import http from "@/utils/http/index.ts"

//2. 定义参数或者返回值类型
interface CaptchaType {
    image:string,
    key:string
}

let getCaptcha = ()=>{
    return http.get<CaptchaType>(`/admin/login/captcha`);
}

//---------登录相关的实现
//1. 定义请求参数的接口类型 
interface LoginType {
    username: string,
    password: string,
    captchaKey: string,
    captchaCode: string
  }

//2.定义api请求方法!   选好请求方式  <返回值类型> (url , post data | get params )  
//                    方法(形参列表,传入本次需要的参数)
let login = (loginForm:LoginType)=>{
    return http.post<string>(`/admin/login`,loginForm);
}  



//------------获取用户信息
interface UserInfoType{
    name:string,
    avatarUrl:string
}

let getUserInfo = ()=>{
    return http.get<UserInfoType>(`/admin/info`);
}

export {
    getCaptcha,
    type CaptchaType , //类型暴漏需要添加type
    type LoginType,
    login ,
    type UserInfoType,
    getUserInfo
}